Spring Boot实现热部署(hot swapping)

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

引言

Spring Boot在web开发中非常常用,但是有个很大的问题就是每次在修改完文件之后都需要重新启动来查看效果,因此需要实现Spring Boot的热部署(hot swapping)。本文主要介绍如何实现Spring Boot的热部署。

1. Maven的POM文件

Spring Boot本身提供了实现热部署的设置,首先要在Maven的POM文件中添加以下内容(在官方文档中有):

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

image

当然Maven插件也必不可少:

1
2
3
4
5
6
7
8
9
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>package-name.Application</mainClass>
</configuration>
</plugin>
</plugins>

2. Eclipse

还有一个重要的问题,针对eclipse的,eclipse --> Project --> Build Automatically要选中,不选中的话不起作用。

3. application.properties

application.properties文件中要加上下面的代码:

1
spring.resources.chain.cache=false

上面的代码是告诉Spring Boot Maven项目中的resource文件夹下的资源不进行缓存处理,即每次都需要去加载。

注:这只是开发的时候使用,项目实际运行时必须设为true,这样加载页面速度更快。

总结:Spring Boot项目中,HTML,JS,Java代码及配置文件的缓存机制各不相同,即有三种缓存机制,背后的原理想要深究的可以去查一下。

如果有收获,可以请我喝杯咖啡!